package com.yuantu.judiciary.model.domain;

import com.yuantu.judiciary.model.BaseDO;
import com.yuantu.judiciary.model.enums.OrganizationType;
import lombok.Data;
import org.hibernate.annotations.Comment;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;
import java.sql.Timestamp;

/**
 * 组织使用记录表
 *
 * @author syw
 * @since 2023-06-12
 **/
@Data
@Entity
@DynamicUpdate
@Table(name = "vip_order_detail")
public class VipOrderDetailDO extends BaseDO {

    /**
     * 订单id
     */
    @Comment("订单id")
    private Long orderId;

    /**
     * 交易单号
     */
    @Comment("交易单号")
    private String tradeNo;

    /**
     * 套餐名称
     */
    @Comment("套餐名称")
    private String vipName;

    /**
     * 总价
     */
    @Comment("总价")
    private Double totalPrice;

    /**
     * 单价
     */
    @Comment("单价")
    private Double unitPrice;

    /**
     * 时长：年
     */
    @Comment("时长：年")
    private Integer duration;

    /**
     * 查询总次数
     */
    @Comment("查询总次数")
    private Integer queryTotalNum;

    /**
     * 账号数量
     */
    @Comment("账号数量")
    private Integer accountNum;

    /**
     * 组织名称
     */
    @Comment("组织名称")
    private String orgName;

    /**
     * 生效时间
     */
    @Comment("生效时间")
    private Timestamp effectiveTime;

    /**
     * 失效时间
     */
    @Comment("失效时间")
    private Timestamp expiresTime;

    /**
     * 支付时间
     */
    @Comment("支付时间")
    private Timestamp payTime;

    /**
     * 支付人
     */
    @Comment("支付人")
    private String username;

    /**
     * 手机号
     */
    @Comment("手机号")
    private String phone;

    /**
     * 支付方式
     */
    @Comment("支付方式")
    private String payType;

    /**
     * 支付种类
     */
    @Comment("支付种类")
    private String type;

    /**
     * 组织类型
     */
    @Enumerated(EnumType.STRING)
    @Column(length = 50, nullable = false)
    @Comment("组织类型")
    private OrganizationType orgType;

}
